TFTP Daemon is an implementation of a server that undertands the TFTP protocol. The TFTP protocol is generally used by network hardware for storing configurations and settings remotely - useful if you don't want to reconfigure your networking hardware after there's been a power failure ! It is not a Trivial implementation of an FTP server - it is an implementation of a TFTP server.
This Release:
This release is version 1.0, of November 1996. A version history is included at the bottom of this document. This version of the daemon will expire on the 31st of December 1997. This is because I expect to have updated the software before then, and I don't want old versions floating about the 'net for years to come.
Author:
The author is Jonathon Fletcher. mailto:jonathon@kagi.com
System Requirements:
• System 7.1 or greater - 7.5 or greater is recommended
• Open Transport 1.1 or greater (TFTP Daemon will not work with MacTCP)
• TFTP Daemon is a 'fat' binary - it will run native on both 68K and PPC Macintoshes.
What would I use this for ?
Suppose you have a Macintosh network environment, maybe with some network equipment to link your network to others, or to the Internet. Most network equipment (routers and one-box internet solutions, for example) are able to use the TFTP protocol to transfer configuration files to and from a remote server for storage (and for automatic retrieval at power-on). The TFTP Daemon implements the TFTP protocol, so you can use a Macintosh running the Daemon as the remote server for storing these configurations.
Do I have to pay for it ?
This software is shareware, not freeware. If you use it you should pay for it. In order to register, please use the registration application included in the distribution. The basic cost is USD $10 for a single licence - prices for group and site licenses are included in the registration application. More details can be found in the document "How to Register", included in the distribution.
What's the difference between this TFTP Daemon and the one Peter Lewis wrote ?
This one allows writing as well as reading of files. This one is also Open Transport native.
Running the TFTP Daemon
TFTP Daemon runs as a background-only application on your MacOS machine. The Daemon will only use the Notification manager to communicate with the user (It will pop up alerts if it needs to). It is scriptable (as of this release, only the required suit is supported).
TFTP Daemon will only allow files to be written to one specific folder on your machine. It will only allow files to be read from one specific folder - you are not exposing your disk to the world by running the daemon.
The Daemon uses folders inside the preferences folder of the active system disk for storing it's log file and readable/writeable directories. The readable/writeable directories can be aliases, so they can be on other disks, or can be aliases of the same folder if you wish to have one directory to read and write from/to.
TFTP Daemon assumes that all transfer are binary no matter what the client side says. If you try and transfer a directory then I've no idea what will happen !
TFTP Daemon has no built-in protection against unauthorised network access. This is generally a 'feature' of the TFTP protocol. The TFTP service can theoretically be reached by any equiped machine on the Internet. Be aware of this before storing sensitive data in a folder that the daemon can read from or write to.
The 'ToDo' List:
Please feel free to add to this list if there a feature you'd like. I don't promise to listen to requests but if enough people ask for the same thing then I'll probably try.
• The 1024/2048 transfer block extensions - does anything actually use these ?
• Better access control.
• A configuration application - allowing the user to choose the directories for io
and to control access to them. Maybe groups too - different IO directories
for different groups.
Credits:
Thanks to (in no particular order) Dair Grant, Jonathan Hogg, Chie Shimakoshi, Keiko Shimizu, and James 'DragThing' Thomson, for comments, criticism and polite silence. Also credit goes to Jerry Goldstein for helping me make a better product.
Distribution
With the exception of distribution via a CD or a disk costing more than US $5, you may distribute this program any way you wish as long as you don't charge for it (except for reasonable download costs). You may not distribute this program on any disk costing more than $5 without my explicit permission. You may not distribute this program on any CD without my explicit permission.
Legal Disclaimer:
Jonathon Fletcher ('the Author') hereby disclaims all warranties relating to this software, whether express or implied, including without limitation any implied warranties of merchantability or fitness for a particular purpose. The Author will not be liable for any special, incidental, consequential, indirect or similar damages due to loss of data or any other reason, even if the Author or an agent of theirs has been advised of the possibility of such damages. In no event shall the Author be liable for any damages, regardless of the form of the claim. The person using the software bears all risk as to the quality and performance of the software. This software is not in the public domain and all rights to it are retained by the Author. This software may not be used where the author's liability for any problems caused directly or indirectly by this software may not be reduced to nothing.
US Government:
If you are acquiring the Software on behalf of any unit or agency of the United States Government, the following provisions apply. The Government agrees:
(i) if the Software is supplied to the Department of Defence (DoD), the Software is classified as "Commercial Computer Software" and the Government is acquiring only "restricted rights" in the Software and its documentation as that term is defined in Clause 252.227-7013(c)(1) of the DFARS; and
(ii) if the Software is supplied to any unit or agency of the United States Government other than DoD, the Government's rights in the Software and its documentation will be as defined in Clause 52.227-19(c)(2) of the FAR or, in the case of NASA, in Clause 18-52.227-86(d) of the NASA Supplement to the FAR.
History:
1.2.1 May 1997
• Removed the address/netmasks restrictions - they were too confusing.
• Reflected these changes in the readme.
1.2 March 1997
• Recompiled with v1.7.1 of the Metrowerks compilers.
• Added code to deal with the provider being closed. This works okay for serial PPP
connections, but seems to be a little harder for ethernet-based configurations.
• TFTP Daemon will now quit if it can't set up an EndPoint - previously failing due to a